home *** CD-ROM | disk | FTP | other *** search
-
-
- Power Packer V2.1b User Manual
-
- March 21, 1989
-
-
-
- Preface
- =======
-
- Congratulations, you have just obtained a copy of Power
- Peak's new and improved PowerPacker 2.1b. If you have
- suggestions or remarks about this program, or if you find
- any bugs, please let me know.
-
- This version of the PowerPacker is shareware, this means
- that if you use it a lot I would appreciate it if you'd
- send me a contribution of $10 or the same amount in any
- other currency.This money will enable me to produce more
- programs on the Amiga. If you send $15 I will send you
- the latest version of the PowerPacker.
-
- Write to the following address:
-
- Franois Nico
- Corbielaan 13
- 3060 Bertem BELGIUM
-
-
- Contents
- ========
-
- 1. The Packer
- 1.1 An introduction
- 1.2 The file requester
- 1.3 The basic menus
- 1.3.1 Project
- 1.3.2 Prefs
-
- 2. Recrunch
- 2.1 How ?
- 2.2 Why ?
-
- 3. The HunkLab
- 3.1 Preferences
- 3.2 Process file
-
- 4. The Script Menu
-
- 5. The Supervisor Window
-
- 6. A Sample Session
-
- 7. PowerPacker 2.1b & the CLI
-
-
- 1. The Packer
- -------------
-
- 1.1 An introduction
-
- The PowerPacker is a userfriendly command and data
- cruncher, this means a menu driven utility that can crunch
- almost any file on your disks. When you use it for the
- first time it's best to maintain a certain order in your
- actions (as we will see in chapter 6 of this document):
-
- (a) set the packer options at the beginning of a session
- (Prefs menu)
- (b) load the file from disk (Project menu)
- (c) save the file back to disk (Project menu)
-
- Apart from the crunching, you can also recrunch files that
- were crunched by some other crunchers.
- The HunkLab enables you to e.g. force code or data in chip
- ram The script, a new feature in 2.1b, allows you to e.g.
- crunch a dozen of files overnight.
-
- Before I demonstrate how to use the PowerPacker, let's
- look at the file requester and a brief overview of the
- menus and capabilities.
-
-
- 1.2 The file requester
-
- Whenever you are required to enter a filename, the packer
- sets up a file requester. This requester automatically
- contains all devices connected to your Amiga and lists all
- the files (and their length) of a selected directory.
- You don't have to wait for the directory read to end.
- You can select a file or directory the moment you see it,
- or you can enter it in the appropriate string gadget.
-
- However, if you wait for the directory read to end and quit
- the file requester, the next time you use it all the files
- will still be there, so you don't have to wait for the
- directory to be read again (This is very useful when you
- are recording a script, as you'll see later). This feature
- has one disadvantage : if files are changed or added to
- the selected directory they won't be shown in the list, or
- they will be shown with the wrong filelength, the next
- time the requester appears. Therefore, if you think
- anything has been changed to the selected directory, use
- the 'GET DIR' gadget to re-read the directory. (E.g.
- when you save a crunched file on top of the old one, the
- old file length will be shown in the requester.)
-
-
- 1.3 The basic menus
-
- 1.3.1 Project
-
- The project menu contains the file manipulation options.
- Most of them speak for themselves:
-
- Load -> Load a file from disk and start the (de)
- crunching.
- Save -> Save the (de)crunched or processed file in
- memory to disk.
- Delete -> Delete a file from disk.
- WorkBench -> Open or close WorkBench if possible. (Adds
- 42K !)
- About... -> Show general information and my address.
- Quit -> Quit the program.
-
- 1.3.2 Prefs
-
- The prefs menu contains all the (de)cruncher settings.
- You can select to (de)crunch command files or a data
- files. If you want the crunched version of your file
- to be executable, select 'Command file'. Now the
- PowerPacker knows it has to add a decrunch header
- (572 bytes). If the file you want to crunch only
- contains data (e.g. Source codes of your own programs)
- select the 'Data file' option. This can be handy if
- you're going to use the PowerPacker CLI commands.
- I'll discuss these commands in chapter 5 of this
- document. Finally you have to choose whether you want
- to crunch or decrunch the load file.
-
- Note: - The PowerPacker will automatically decrunch a
- previously crunched file. You don't have to select
- crunch or decrunch mode anymore as in PowerPacker
- 2.0a.
-
- The 'Decrunch Color' submenu contains the following
- options :
-
- Color 0 -> The background color will change while
- decrunching
- Color 1 -> The text color changes
- Pointer -> Only the mousepointer's color changes
- Scroll -> Handy for decrunching a demo
- (just try it out !)
- None -> If you're eyes are wearing out.
-
- These options indicate what color will flash when a file is
- decrunched. You can change this option before saving a
- crunched file, so you can save a version of your crunched
- program that flashes in color 1, and one that flashes in
- the mouse pointer.
- If the 'Color Crunch' option is selected, the PowerPacker
- will use the same color while crunching the file, giving
- you an idea what the decrunching will look like (provided
- that you don't change any options just before saving to
- disk). The default value is color 1.
-
- In the efficiency submenu you will find the following
- possibilities :
-
- Fast -> Use for small files, or for quick crunch.
- Mediocre -> Better but slower.
- Good -> Default, gains 40-50% in most cases.
- Very Good -> Also very slow !
- Best -> Advised for script use only, ultra slow !!!
-
- Note: - 'Fast' is approx. 4 times faster than 'Good',
- 'Very Good' is 2 times slower and 'Best' 4 times.
-
- You can set Amiga's multitasking off to increase the
- crunching speed. The default setting is on. When you want
- to use the PowerPacker in a multitasking environment, you'll
- probably start a crunching job and at the same time continue
- your work. In that case, it might be interesting to set the
- 'LED Crunch' option on. Now your power-LED flashes while
- crunching,just like the screencolors.
- (but I presume they're already turned off because editing a
- file with flashing text really gets on your nerves)
- You can even turn off your monitor and still see when the
- cruncher has finished.
-
- Finally, you can set the paging in the supervisor window on
- so you can read the crunch and hunk information, without
- everything racing off the screen before you've had a chance
- to see it.
-
- Note: - While crunching, you can press both mousebuttons at
- the same time to abort.
- - Do *NOT* change disks when you are crunching with the
- multitasking switched off !!! The Amiga will crash !!!
-
- 2. Recrunch
- -----------
-
- 2.1 How ?
-
- This menu is provided for the people who were using
- another cruncher or an older version of the PowerPacker.
- Just select 'Recrunch File' or 'Decrunch Only' and load the
- file. The PowerPacker will start the correct decrunch
- algorithm. If you selected 'Recrunch' the PowerPacker will
- start to crunch the decrunched file. If the PowerPacker
- doesn't recognize the cruncher it will say so, no harm is
- done. If you select 'Recrunch Always' the PowerPacker will
- always recrunch, even if the file was crunched with this
- version of the PowerPacker. Useful for recrunching files
- using a higher efficiency. (E.g. recrunch a 'Fast' crunched
- file in 'Best')
-
- Crunchers currently supported are: 'ANC Cruncher' 'TNM
- Cruncher 1.1','Relokit 1.0' and older PowerPacker files.
- If you'd like to see other crunchers supported, send me the
- cruncher and some programs crunched with it.
- (With a contribution I hope). If it is possible to develop
- a decrunch algorithm I will include it in the next version
- of the PowerPacker.
-
- 2.2 Why ?
-
- The PowerPacker always crunches better than the 'ANC
- Cruncher' and the 'TNM Cruncher'. It crunches better than
- 'Relokit' most of the time, but even if it doesn't, I
- advise you to recrunch because 'Relokit' has some serious
- disadvantages (e.g. while the decrunched file is running,
- the crunched version still eats memory). In contrast the
- PowerPacker only eats about 580 bytes while your file is
- running, and (of course) frees it afterwards.
-
- Note: - If you want to recrunch a PowerPacker 1.1 or 2.0
- crunched file, the PowerPacker just replaces the file
- header with the improved and debugged 2.1 header. (Unless
- you've selected 'Recrunch Always')
- - The recrunch menu only supports command files ! You
- can't recrunch data files from e.g. PowerPacker 1.0, sorry
-
- 2. The Hunklab
- --------------
-
- 2.1 Preferences
-
- This menu is not really part of the PowerPacker
- crunch/decrunch routines but it wasn't worth writing a
- separate program for and a HunkLab is after all a very
- interesting utility. You can e.g. use it to remove symbol
- and debug hunks from files that wouldn't crunch otherwise.
-
- You can force a program's code, data or BSS (uninitialised
- data) into chip ram or you can remove symbol tables and
- debug information just by toggling the marker on/off.
- So in future,when you want your programs to be able to run
- on a one megabyte system, a simple click on the
- mousebutton will do.
-
- 2.2 Process file
-
- 'Process file' reads the file from disk and changes
- it according to your preferences. To save the processed
- file, use 'Save' from the Project menu. 'Process & Crunch'
- will process the file and crunch the file afterwards
- (if possible). To save use 'Save' in the Project menu.
-
-
- 3. The Script Menu
- ------------------
-
- This menu is a new feature in version 2.1b. It allows
- you to record 80 different commands to be executed after
- each other. It is ideal for crunching a lot of files
- overnight.
-
- Menu options are:
-
- 'Clear Script' and 'List Script' will do just that.
- 'Script Log File' is used to specify a file to
- redirect output to. If you cancel the requester no
- log file is used.
- 'Destination Dir' is used to specify the directory to
- save to. It is ghosted in the normal use.
- 'Start Recording' is used to start the recording of
- the script. If the script was empty you will be
- asked for the destination directory.
- You will also be asked whether to append '.pp21' to
- the destination file. You're advised to do this for
- data files.
- After selecting the destination you can start
- entering the script commands. Everything that is
- ghosted is not available as a command. Just enter
- everything as if you were actually using the
- PowerPacker. When you e.g. choose 'Load' the
- PowerPacker will ask a list of files to be
- (de)crunched. Press 'CANCEL' to exit the entry.
- Note: - You can still change the source and
- destination dir while recording.
- Every command you enter will be displayed in the
- supervisor window. 'Stop Recording' is used to exit
- the recording mode.'Delete Last' will delete the
- last command after a confirmation. 'Execute Script'
- finally, is used to start the playback of the script
- commands.
- If you press the menu button a requester will appear
- to ask you if you want to abort the script execution.
- After executing the script a request to clear the
- script will appear.
-
- Note: - It is advisable to let the filerequester buffer
- fill before you start selecting files. It is also
- better not to change the source directory too often.
- - The screen turns grey to indicate a script is
- executing.
- - While executing a script, the PowerPacker will
- always act destructive ! Files will allways be
- overwritten and deleted !!!
-
- 4. The Supervisor Window
- ------------------------
-
- This window displays all kind of useful information
- like the file status, crunch messages, and error messages.
- You can follow all steps, from the original file that is
- loaded into memory, to the final crunched version on disk.
- When an executable file is loaded, its hunk information is
- displayed. This information is rather technical, but it
- can be useful for programmers. If you're not interested,
- just ignore it.
-
- I think it might be useful to give a list of possible
- error messages:
-
- (De)crunch : Buffer overflow !
- (Crunched file is getting longer than
- original file)
- Crunch aborted !
- (Crunching stopped by user or by buffer
- overflow)
- No memory for decrunch buffer !
- Out of memory !
- (Buy some more, or try closing the
- WorkBench)
- Sorry, can't crunch !
- (This is a polite program)
- Can't find hunk_header.
- Hunk not allowed in load file!
- Unknown Hunk !
- (Not a command file)
- Hunk not supported (yet ?) !
- (If it's a symbol or debug hunk, try
- removing it in HunkLab)
- Nothing to save !
- (Buffer is empty)
- Save Aborted !
- Error reading file !
- Can't open file !
- Error writing data header !
- Error writing buffer !
- File not found !
- Couldn't delete file !
- Can't open file !
- (Disk errors)
-
- Recrunch : No need to recrunch 'PowerPacker 1.1' command
- file, Replacing 1.1 decrunch header with 2.1
- header...
- (2.1 header is shorter and bugfree,1.1 isn't)
- No need to recrunch 'PowerPacker 2.0' command
- file,Replacing 2.0 decrunch header with 2.1
- header...(There was still a small bug in 2.0
- header, so replace it.) Not crunched with one
- of the supported crunchers !!
- (Or file is not crunched at all !)
- Sorry, can't recrunch !
- (We're always polite)
-
- Process : Sorry, can't process file !
- (File is probably not a command file)
- Can't crunch file !
- (File still contains unsupported hunks)
-
- Script : Script buffer full !! Please stop recording.
- (Script is limited to 80 commands, choose
- 'Stop Recording')
-
- 5. A Sample Session
- -------------------
-
- Now that I have explained the PowerPacker's capabilities,
- it's time for a little demonstation. Let's say we want to
- crunch the 'CLI' command in the System directory on your
- Workbench 1.2 disk.
-
- Select 'Pointer' in the Prefs/Decrunch Color menu (When
- I wrote this text, it was very late and I couldn't stand
- the other decrunch colors anymore !)
-
- Set 'Prefs' to 'Command file'. Now select 'Load' in the
- Project menu (a file requester will appear), insert your
- WorkBench 1.2 disk and choose the 'CLI' command in the
- system directory. Now you'll see a lot of hunk
- information about the CLI command:
-
-
- Loading command file 'df0:System/CLI'...
-
- Hunk_header (0x03F3)
- 9 hunks (0 to 8).
- Hunk 0 : Hunk_code (0x03E9) (524 bytes)
- Hunk_reloc32 (0x03EC)
- Hunk 1 : Hunk_data (0x03EA) (428 bytes, 0 BSS)
- Hunk 2 : Hunk_code (0x03E9) (472 bytes)
- Hunk_reloc32 (0x03EC)
- Hunk 3 : Hunk_data (0x03EA) (52 bytes, 0 BSS)
- Hunk 4 : Hunk_code (0x03E9) (16 bytes)
- Hunk 5 : Hunk_code (0x03E9) (0 bytes)
- Hunk 6 : Hunk_code (0x03E9) (196 bytes)
- Hunk_reloc32 (0x03EC)
- Hunk 7 : Hunk_code (0x03E9)
- Hunk_reloc32 (0x03EC)
- Hunk 8 : Hunk_data (0x03EA) (0 bytes, 0 BSS)
-
- Crunching command file...
- Press left and right button to abort.
- Crunching, please wait.
-
-
- The cruncher displays the percentage of the file already
- crunched and after some time your screen will look like
- this:
-
- 100% crunched.
- Done.
- Original length : 2356 bytes.
- Crunched length : 1204 (1776) bytes.
- Gained 49% (1152 bytes) !
-
-
- The only thing you have to do now is save this back to
- disk as an executable file. Now enjoy the crunched CLI
- command.
-
-
- 6. PowerPacker 2.1b & the CLI
- -----------------------------
-
- For your convenience, I have also written two CLI commands,
- one to crunch and one to decrunch. Attention: These
- commands only (de)crunch DATA files !!!! (So to crunch
- executable files, you'll still have to use the PowerPacker
- 2.1b). A usage line is given by typing 'Crunch' or
- 'Decrunch' without arguments. You'll get something like
- this:
-
- 1>
- 1> crunch
- POWER-PACKER 2.1a Data Cruncher.
- Written by Lone Wolf from POWERPEAK.
- USAGE : Crunch <source> <destination> [efficiency (1-5)
- default 3] [P] [F]
- Where P stands for no percentage,
- F for Forbid() crunching.
- 1>
- 1> decrunch
- POWER-PACKER 2.1a Data Decruncher.
- Written by Lone Wolf from POWERPEAK.
- USAGE : Decrunch <source> <destination> [decrunch color
- (0-4)] With decrunch color 0/1 -> Color 0/1, 2 ->
- Pointer, 3 -> Scroll, 4 -> None If <destination> is a *
- the file will be typed to Output().
-
- 1>
-
- These commands are useful to be included in your
- startup-sequence or to read crunched text files quickly.
-
- I don't think these commands need any further explanation.
- Just try them out and you'll see what happens.
- E.g. when you have a crunched source file of a program on
- your disk, typing
-
- Decrunch filename.c *
-
- will display the file as if you were using the 'Type'
- command for textfiles.
-
- Enjoy !!!
-
-
- PROGRAM HISTORY:
-
- *********************************************************
- VERSION 1.0a
-
- First release.
-
- *********************************************************
- VERSION 1.1a
-
- Fixed bugs.
- Improved crunch algorithm by about 5%.
- 'Delete' and 'Multitask' added.
- Better menu structure.
- Improved the file requester.
- Written CLI commands.
-
- *********************************************************
- VERSION 2.0a
-
- Fixed some more bugs.
- Added buffer and automatic device-list to the file
- requester. Added 'LED Crunch', useful for turning the
- monitor off while crunching, and 'Paging'.
- New header, bug fixed. (1.1 didn't free mem when
- started from WorkBench) Added the hunklab.Improved
- CLI commands.
-
- *********************************************************
- VERSION 2.1a
-
- Fixed last bug in header (2.0 crashed when you were
- out of mem) Added script feature, now possible to
- crunch files overnight.
- Improved requesters.
- Automatic crunch/decrunch.
- Improved menu structure considerably.
- Intelligent recrunch implemented.
- Automatic crunch/decrunch.
- Added 'Color Crunch' option.
- New efficiency 'Best' added.
-
- **********************************************************
- VERSION 2.1b
-
- Bug fixed in script abort.
- Added ability to open a log file during script
- execute. Now possible to recrunch PowerPacker files
- with a higher efficiency.
- Recrunch detects unsupported crunchers a lot faster.
- Version supposed to work on NTSC Amiga (not tested !)
-
- **********************************************************
-
-
- P.S. This text file crunched to 42% of it's original
- length. (Gained 58% !)
-
- The PowerPacker 2.1b written by François Nico (Lone Wolf).
- Special thanks to Pauwels Luc (Red Eagle) for writing the
- 2.0a manual and Tybergein Jorrit (Edain) for the extensive
- debugging.
-
- (c) 1989 François Nico / Power Peak
-
- //
- Thanks to \X/ Amiga for being the best computer ever !
-
-